# 使用 Ubuntu 18.04 作为基础镜像
FROM ubuntu:18.04

# 更新并安装必需的工具（包括 SSH 服务、CMake 和构建工具）
RUN apt-get update && apt-get install -y \
    openssh-server \
    build-essential \
    git \
    sudo \
    vim \
    && rm -rf /var/lib/apt/lists/*

# 设置 SSH 服务
RUN mkdir /var/run/sshd

# 设置 root 密码（您可以根据需要修改）
RUN echo 'root:123456' | chpasswd

# 配置 SSH 允许 root 登录
# 允许root用户登录SSH
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config

# 将本地的 CMake 压缩包拷贝到容器中
COPY cmake-3.25.0-linux-x86_64.tar.gz /tmp/

# 解压并安装 CMake
RUN tar -zxvf /tmp/cmake-3.25.0-linux-x86_64.tar.gz -C /tmp/ && \
    mv /tmp/cmake-3.25.0-linux-x86_64 /usr/local/cmake-3.25.0 && \
    ln -s /usr/local/cmake-3.25.0/bin/* /usr/local/bin/ && \
    rm -rf /tmp/cmake-3.25.0-linux-x86_64.tar.gz

# 创建工作目录
WORKDIR /app

# 将当前目录下的 CSProject 文件夹拷贝到容器中
COPY ./CSProject /app/CSProject

# 进入到拷贝后的 CSProject 文件夹并使用 cmake 编译项目
WORKDIR /app/CSProject
RUN cmake . && make

# 暴露端口 22（SSH）和 12345（TCP 服务）
EXPOSE 22 12345

# 启动 SSH 服务并运行编译后的可执行文件 CSProject
CMD service ssh start && ./CSProject
